1
Notación Hexadecimal y el Espacio de Direcciones Virtual
AI031Lesson 2
00:00

Adéntrate en la Visión de Programa a Nivel de Máquina, donde la complejidad del hardware se abstrae en un Espacio de Direcciones Virtual. En esta visión, la memoria no es una colección de variables, sino un enorme arreglo contiguo de bloques de 8 bits llamados bytes. Para una máquina con un tamaño de palabra de $w$ bits, estas direcciones van desde $0$ hasta $2^w - 1$, definiendo los límites del alcance del programa.

1. El Poder del 16

El binario es el lenguaje de los circuitos, pero Notación Hexadecimal es el lenguaje de los programadores. Debido a que $16 = 2^4$, un único dígito hexadecimal (0–F) se mapea perfectamente a un nibble de 4 bits. Esto permite expresar un valor de 1 byte de forma compacta con exactamente dos dígitos (por ejemplo, 0xFF). Esta abreviatura es esencial para leer código máquina y código ensamblador, como la instrucción 4004dc: 48 03 47 28.

Figura 2.2: Mapeo Hexadecimal-Binario-DecimalHexDecBin01...9ABCDEF01...910111213141500000001...1001101010111100110111101111 Regla: Para convertir Dec x a Hex, calcula repetidamente x = q ⋅ 16 + r

2. Precisión y Aritmética

Al manipular Tipos de Datos Enteros, nos encontramos con anillos booleanos y complemento a dos lógica. Debemos navegar almacenamiento little endian almacenamiento, desbordamiento de enteros, y las sutilezas de precisión simple coma flotante donde Infinito ($+\infty$) y NaN residen. Comprender estos patrones de bits es el primer paso para dominar aritmética de tamaño arbitrario y la programación de sistemas robusta.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>